Communication networks are used for transmission of various types of data, including web pages, images, audio files and video streams. While the capacity of communication networks has increased dramatically in past years, making the delivery of files much faster and increasing the number of clients that can be serviced, the volumes of data transmitted over the networks has also increased. Compression methods are used to reduce the number of bits that need to be transmitted in order to convey a given amount of information. There are very sophisticated compression methods which achieve good results, but they are usually very demanding in processing power.
In the following description and claims, the term compression is used broadly to designate transmission adjustment tasks that are directed at reducing bandwidth utilization, including lossy and lossless compression, as well as data pacing and removing duplicate and/or null data.
U.S. Pat. No. 7,024,045 to McIntyre, the disclosure of which is incorporated herein by reference in its entirety, describes a dynamic compression scheme which selects the compression method used for a specific connection responsive to a current connection-latency. The scheme is designed to use CPU time conservatively.
US patent application publication 2006/0085541 to Cuomo, the disclosure of which is incorporated herein by reference in its entirety, describes determination of whether compression has a desirable effect on response time. The determination may be based on various criteria, including CPU utilization, bandwidth utilization and network time costs.
US patent application publication 2009/0083279 to Hasek, the disclosure of which is incorporated herein by reference, describes apparatus for selectively caching video content which evaluates the demand for certain content elements and formats, and accordingly manages the cache to balance between memory resources and processing resources.
U.S. Pat. No. 7,844,705 to Jones et al., the disclosure of which is incorporated herein by reference, describes monitoring a plurality of parameters of a network connecting a server and a client including client and server resource parameters and determining a desired compression level for transmitted image data according to these parameters.